package com.flash.dataU.test.dao;

import com.flash.dataU.test.entity.BaseEntity;
import com.flash.dataU.test.entity.DataEntity;
import java.util.List;

/**
 *  dao根接口
 *
 * @author Flash (18811311416@sina.cn)
 * @since 2017-07-06 19:58
 */
public interface BaseDao<T extends BaseEntity<T>> {
    /**
     * 获取单条数据
     */
    T get(int id);

    /**
     * 查询数据列表，如果需要分页，请设置分页对象
     */
    List<T> findList(T entity);

    /**
     * 查询所有数据列表
     */
    List<T> findAllList();

    /**
     * 插入数据
     */
    int insert(T entity);

    /**
     * 更新数据
     */
    int update(T entity);

    /**
     * 删除数据（一般为逻辑删除，更新del_flag字段为1）
     */
    int delete(T entity);

    /**
     * 查询总记录数
     */
    int count(T entity);
}